Ứng dụng Cache_(tin_học)

Bộ nhớ đệm CPU

Bộ nhớ đệm được sử dụng bởi đơn vị xử lý trung tâm (CPU) của máy tính để giảm thiểu thời gian trung bình trong việc truy cập dữ liệu trong bộ nhớ chính. Bộ nhớ đệm nhỏ hơn, nhanh hơn trong việc lưu trữ dữ liệu sao chép từ vùng bộ nhớ chính được sử dụng thường xuyên nhất. Hầu hết CPU sở hữu những bộ nhớ đệm độc lập khác biệt nhau, bao gồm lệnh và bộ nhớ đệm dữ liệu, nơi mà bộ nhớ đệm dữ liệu thường được thiết lập như một hệ thống cấp bậc của nhiều hơn các cấp bộ nhớ đệm.

Bộ nhớ đệm của vi xử lý đồ họa

Các phiên bản trước của vi xử lý đồ họa (GPUs) không có (các) bộ nhớ đệm cứng; tuy nhiên, khi GPUs chuyển sang vi xử lý không mang tính đồ họa, chúng lại sử dụng các bộ nhớ đệm lớn. Chẳng hạn như GT200 không có bộ đệm L2, trong khi bộ đệm của Fermi lại có 768KB, của Kepler là 1536KB và Maxwell có 2048KB.

Bộ đệm chuyển đổi

Đơn vị quản lý dữ liệu (MMU): tìm nạp những lối vào của trang bảng từ bộ nhớ chính sở hữu bộ nhớ đệm đặc biệt, được sử dụng để ghi lại kết quả của địa chỉ ảo đến địa chỉ vật lý. Bộ nhớ đệm đặc biệt này được gọi là Bộ Đệm Chuyển Đổi

Bộ nhớ đệm Web (Web Cache)

Trình duyệt web và Máy chủ Web sử dụng Bộ nhớ đệm Web để chứa các phản hồi từ hệ thống máy chủ, chẳng hạn như hình ảnh và các trang web.

Bộ nhớ đệm Web giảm thiểu thông tin cần được truyền bằng mạng, bởi vì thông tin được chứa trong bộ nhớ đệm có thể được tái sử dụng. Điều này giúp giảm băng thông và nhận được yêu cầu dữ liệu từ máy chủ nhanh hơn, đồng thời cải thiện tốc độ phản hồi của người dùng trên mạng.

Các trình duyệt web sử dụng bộ nhớ đệm liền, một số nhà cung cấp mạng hay tổ chức lại thích dùng máy chủ đệm để bộ nhớ đệm được chia sẻ cho tất cả người dùng trong hệ thống đó.

Một dạng khác của bộ nhớ đệm là P2P (peer to peer). Nó giúp các tập tin được các ứng dụng P2P tìm kiếm nhiều nhất và còn giúp tăng tốc chuyển dữ liệu P2P. Tương tự, các vùng tương đương sẽ xuất hiện, điều này giúp cộng đồng thực hiện các nhiệm vụ vận chuyển P2P chẳng hạn như Corelli.

Sự khác biệt giữa buffer và bộ nhớ cache

Hai từ ngữ "buffer" và "cache" không bao gồm nhau; thậm chí, có sự khác biệt cơ bản trong ý nghĩa giữa các quá trình của bộ nhớ cache và các quá trình của buffer.

Về cơ bản, bộ nhớ đệm nhận ra một sự gia tăng hiệu suất cho việc lấy đi lấy lại dữ liệu nhiều lần. Trong khi cache có thể nhận ra một sự gia tăng hiệu suất ngay từ ban đầu của một dữ liệu, quá trình tăng hiệu suất xảy ra trong hệ thống bộ nhớ đệm.

Với đọc cache, một mục dữ liệu phải được lấy từ vị trí gốc của nó ít nhất một lần để cho sau này đọc liên tiếp dữ liệu nhiều lần để thấy một sự gia tăng hiệu suất bằng hiệu lực của việc có thể lưu trữ trung gian của bộ nhớ cache nhanh hơn của dữ liệu gốc. Với ghi cache, một sự gia tăng hiệu suất của việc viết một dữ liệu có thể được nhận ra khi viết lần đầu tiên của các dữ liệu bằng hiệu lực của các dữ liệu được lưu trữ ngay trên bộ nhớ cache, trì hoãn việc chuyển giao các dữ liệu về sau hay nói cách khác nó xảy ra như là một tiến trình nền. Trái với đệm nghiêm ngặt, một quá trình trong bộ nhớ đệm phải tuân thủ một (phân phối tiềm năng) bộ nhớ cache giao thức mạch lạc để duy trì sự thống nhất giữa lưu trữ trung gian của bộ nhớ cache và vị trí nơi chứa dữ liệu. Buffering, mặt khác,

+ làm giảm số lượng các quá trình chuyển dữ liệu giữa quá trình giao tiếp, mà tối ưu trên không đề cập đến những truy cập một dữ liệu ít lần.

+ cung cấp quá trình giao tiếp trung gian

+ đảm bảo một kích thước dữ liệu tối thiểu hoặc đại diện theo yêu cầu của ít nhất một trong các quá trình giao tiếp liên quan đến việc truy cập.

Buffer là một vị trí bộ nhớ tạm thời thường được sử dụng vì các CPU instruction không thể trực tiếp truy cập các dữ liệu được lưu trữ trong các thiết bị ngoại vi. Như vậy, bộ nhớ địa chỉ được sử dụng như là một giai đoạn trung gian. Ngoài ra, một buffer như vậy có thể khả thi khi một khối lượng lớn các dữ liệu được lắp ráp hoặc tháo rời (theo yêu cầu của một thiết bị lưu trữ), hoặc khi dữ liệu có thể được gửi theo một thứ tự khác nhau hơn là trong đó nó được tạo ra. Ngoài ra, một bộ đệm toàn bộ dữ liệu thường được chuyển tuần tự (ví dụ vào đĩa cứng), vì vậy chính buffer đôi khi làm tăng hiệu suất truyền tải hoặc làm giảm sự biến đổi hoặc sự rối loạn của độ trễ việc chuyển giao như trái ngược với bộ nhớ đệm mà mục đích là để giảm độ trễ. Những lợi ích này có mặt ngay cả khi dữ liệu buffer được ghi vào buffer một lần và đọc từ bộ đệm một lần.

Một bộ nhớ cache cũng làm tăng hiệu suất truyền tải. Một phần của sự gia tăng tương tự xuất phát từ khả năng rằng nhiều giao dịch chuyển nhỏ sẽ kết hợp thành một khối lớn. Nhưng chính hiệu-được xảy ra bởi vì có một cơ hội tốt mà cùng một dữ liệu sẽ được đọc từ bộ nhớ cache nhiều lần, hoặc số liệu bằng văn bản sẽ sớm được đọc. Mục đích duy nhất của một bộ nhớ cache là để giảm truy cập vào kho chậm hơn nằm bên dưới. Bộ nhớ cache cũng thường là một lớp trừu tượng được thiết kế để có thể nhìn thấy từ quan điểm của các lớp lân cận.

Bộ nhớ đệm đĩa (Disk Cache)

Bộ nhớ đệm đĩa là một bộ phận để cải thiện thời gian đọc từ đĩa cứng hoặc ghi lên đĩa cứng. Hiện nay, bộ nhớ đệm đĩa thường được xem như một phần của đĩa cứng. Bộ nhớ đệm đĩa cũng có thể là một phần riêng biệt của RAM. Nó chứa dữ liệu đã được đọc gần đây và những vùng dữ liệu gần kề có thể được kết nối trong thời gian tới.Việc viết bộ nhớ đệm cũng được hộ trỡ bởi một số bộ nhớ đệm đĩa.

Một số bộ nhớ đệm khác

Những cỗ máy tìm kiếm (như Google, Yahoo,...) thường dùngbộ nhớ đệm để lưu giữ những trang web đã được tìm kiếm. Ví dụ, Google sẽ cung cấp một đường link bên cạnh kết quả tìm kiếm trỏ đến bộ nhớ đệm đối với những trangweb đã được tìm kiếm trước đó. Điều này trở nên hữu ích khi những trang web từ một máy chủ nào đó trở nên khó truy cập trong thời gian ngắn hoặc lâu dài.

Một loại bộ nhớ đệm khác sẽ được dùng để lưu giữ những kết quảtính toán mà có thể sẽ được sử dụng trở lại. Ví dụ, cache là một chương trình tạo ra bộ nhớ đệm cho đầu ra của trình biên dịch để tăng tốc độ biên dịch chonhững lần biên dịch sau.

Việc tạo bộ nhớ đệm cho cơ sở dữ liệu có thể cải thiện đángkể khả năng vận hành của những ứng dụng cơ sở dữ liệu, như trong vận hành các đề mục, dữ liệu từ điển, hay những dạng thông dụng khác của dữ liệu.